List utilities


\begin{inset}{}
Returns the first {\it tail\/} of {\it list\/} such that
{\tt ({...
...nv}
(MEM EQ? 'A '(B A D E)) $\Longrightarrow$\ (A D E)
\end{codexenv}\end{inset}


\begin{inset}{}
\begin{codexenv}
(MEMQ {\it object list\/}) $\equiv$\ (MEM EQ? {\it object list\/})
\end{codexenv}\end{inset}


\begin{inset}{}
Calls the {\it predicate\/} on successive elements of the {\it l...
... (C D E F))) &$\Longrightarrow$\ & (B Z)
\end{tabular} \end{codexenv}\end{inset}


\begin{inset}{}
Like {\tt ANY}, but the {\it predicate\/} is called on successive
tails of the {\it lists\/} instead of successive elements.
\end{inset}


\begin{inset}{}
Calls the {\it predicate\/} on successive elements of the {\it l...
...) (B K)) ((C D) (T U)))) \\
$\Longrightarrow$\ (C D)
\end{codexenv}\end{inset}


\begin{inset}{}
Like {\tt EVERY}, but the {\it predicate\/} is called on successive
tails of the {\it lists\/} instead of successive elements.
\end{inset}


\begin{inset}{}
\begin{codexenv}
(EVERYCDR? {\it predicate . lists\/}) $\equiv$\ (TRUE? (EVERYCDR {\it predicate . lists\/}))
\end{codexenv}\end{inset}


\begin{inset}{}
\begin{codexenv}
(ANYCDR? {\it predicate . lists\/}) $\equiv$\ (TRUE? (ANYCDR {\it predicate . lists\/}))
\end{codexenv}\end{inset}


\begin{inset}{}
Returns the position of the first item in {\it list\/} such that...
...({\it predicate object item\/})}, or false if there is no such
item.
\end{inset}


\begin{inset}{}
\begin{codexenv}
(POSQ {\it object list\/}) $\equiv$\ (POS EQ? {\it object list\/})
\end{codexenv}\end{inset}


\begin{inset}{}
{\tt\begin{tabbing}
(APPEND-REVERSE \= {\it list ending\/}) $\eq...
...VERSE '(A B C) '(D E)) $\Longrightarrow$\ (C B A D E)
\end{tabbing}}
\end{inset}


\begin{inset}{}
\begin{codexenv}
(APPEND-REVERSE! {\it list ending\/}) $\equiv$\ \\
(APPEND! (REVERSE! {\it list\/}) {\it ending\/})
\end{codexenv}\end{inset}